Such a system is known from the international patent application WO-A-87/07063 in which a system for a portable data carrier having multiple application files is described. One of the most important applications of such a portable data carrier is a smart card suitable for multiple applications. The known data carrier is described as a carrier of hierarchically structured data with security features to support multiple applications on the same data carrier. Applications are seen as sets of data. The patent application describes an implementation of an hierarchical file system on a data carrier to store alterable data in combination with an hierarchic set of access permissions. The data carrier responds to a set of common commands. File access permissions are distinct for different operations and granted in dependence on password verification. A password verification attempt counter is introduced as well as the provision of destruction of stored data as sanction against too many attempts of access. The known data carrier is presented primarily as a storage device and not as a processor. Only very simple functions may be performed by the executive program such as binary logic operation. It is not possible to allow the performance of an unspecified set of operations on request of a terminal communicating with the data carrier. The only security option is the introduction of password verification. No other access condition verifications are possible within the known system. Besides, each application of the data carrier has its own file within the memory means of the data carrier. No special measures are taken to enhance the efficiency of the available memory space which, especially on smart cards, is very restrictive and therefore sets limits to the number of possible applications.
EP-A-0,479,655 relates to the implementation of access condition checks in smart cards. One specification technique for that is disclosed, however, it is desirable to provide for measures to include the possibility of other access condition verifications.
EP-A-0,361,491 relates to a chip card programming system to allow protected (re)programming of cards. It describes the use of write-once-access conditions to control access of parts of the programmable memory to be programmed. In this way the number of applications on a single card can be extended. Verification of the access conditions with a variety of techniques including cryptographic protocols is described.
EP-A-0,292,248 relates to loading of applications on a smart card using an unalterable operating system program. It includes the implementation of a data access condition enforcement method using memory zones with assigned access attributes. Specific access conditions are "write-once" (which is only described implicitly) and "execute-only".
U.S. Pat. No. 4,874,935 relates to card programming using a data dictionary where the data dictionary describes the layout of data elements stored in the card's memory. Data dictionaries are commonly understood to differ from directories in that they not only describe data actually stored, but also data which will be stored later. In addition, data dictionaries usually include a description of the data format. In compiled format data dictionaries are used in database management systems where they are stored on the hard disc as part of the database. They are also found in the object load files resulting from program compilation in software development environments. However, the patent does not claim a representation of data dictionaries particularly suited for smart cards.